YPO Industry
FFmpeg × バッチ処理】SNS用「縦スライドショー動画」を一発生成する方法

【FFmpeg × バッチ処理】SNS用「縦スライドショー動画」を一発生成する方法

こんにちは、YPO industryです。

今回は、SNS用の縦長スライドショー動画を自動生成するバッチ処理を作成しました。
TikTok や Instagram Reels、YouTube Shorts など、縦動画に対応したSNSにそのまま使えます。


🎬 やりたいこと


📁 フォルダ構成

Desktop
└─ video_base
   ├─ base.jpg ← 背景に使う画像(1080×1920推奨)
   ├─ image1.jpg
   ├─ image2.jpg
   └─ make_slideshow.bat ← バッチファイル(次で紹介)

💻 バッチファイルの内容(UTF-8で保存)

make_slideshow.bat という名前で以下を保存してください:

@echo off
setlocal EnableDelayedExpansion

set "WORKDIR=%USERPROFILE%\Desktop\video_base"
cd /d "%WORKDIR%"

set "BACKGROUND=%WORKDIR%\base.jpg"

del /q list.txt 2>nul
del /q temp_slide_*.jpg temp_final_*.jpg 2>nul

set i=0
for %%f in (*.jpg *.jpeg *.png) do (
    if /I not "%%f"=="base.jpg" (
        set /a i+=1
        set "SLIDE=temp_slide_!i!.jpg"
        set "FINAL=temp_final_!i!.jpg"

        ffmpeg -y -i "%%f" -vf "scale=1080:-1:flags=lanczos" "!SLIDE!"
        ffmpeg -y -i "%BACKGROUND%" -i "!SLIDE!" -filter_complex "overlay=(W-w)/2:(H-h)/2" "!FINAL!"

        if exist "!FINAL!" (
            echo file '!FINAL!' >> list.txt
            echo duration 0.8 >> list.txt
        )
    )
)

if exist "temp_final_%i%.jpg" (
    echo file 'temp_final_%i%.jpg' >> list.txt
)

ffmpeg -y -f concat -safe 0 -i list.txt -vf "drawtext=text='New Design':fontfile='C\\:/Windows/Fonts/meiryo.ttc':fontcolor=white:fontsize=80:x=(w-text_w)/2:y=h/1.5:shadowcolor=black:shadowx=2:shadowy=2" -c:v libx264 -r 30 -pix_fmt yuv420p output.mp4

del /q temp_slide_*.jpg temp_final_*.jpg list.txt
echo 完了しました!output.mp4 が作成されました。
pause

📌 補足ポイント


✅ 出力サンプル

完成した動画は video_base/output.mp4 に保存されます。
そのままSNSへアップロード可能な「縦フルHD(1080×1920)」動画です。


🔄 応用アイデア


💬 まとめ

画像を並べて動画にするのって意外と手間ですよね?
でもこのバッチとFFmpegを組み合わせれば、画像を放り込んで1クリックで完成!
SNS投稿が一気に楽になりますよ。